package cn.ainit.bj.bjxt;

import cn.ainit.common.ReturnObject;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.List;

public interface BJTopicsService {
	/***
	 * 更新表中数据
	 * @param sqlText
	 * @param valuesArr
	 * @param whereValue
	 * @return
	 * @throws Exception
	 */
	boolean updateObject(String sqlText, String[] valuesArr, String[] whereValue) throws Exception;
	/**
	 * 根据Id得到一条Topic的数据
	 * @param dsId
	 * @return
	 * @throws Exception
	 */
	BJTopics getOneBjTopic(String dsId) throws Exception;
//***下述正式环境************************************************/
	/***
	 * 保存选题对象
	 * @param bjTopics
	 * @return
	 * @throws Exception
	 * @author Xuzq
	 * @date 2014-1-21 下午03:31:33
	 */
	boolean saveTopics(BJTopics bjTopics) throws Exception;
	/***
	 * 更新编辑选题对象
	 * @param bjTopics
	 * @return
	 * @throws Exception
	 * @author Xuzq
	 * @date 2014-1-21 下午03:32:28
	 */
	boolean updateTopics(BJTopics bjTopics) throws Exception;
	/**
	 * 生成选题立项单
	 * @param xtId
	 * @return
	 * @throws Exception
	 * @author wyang
	 * @date : 2014-3-24 下午04:25:41
	 */
	String makeLiXiang(String xtId) throws Exception;
	
	/***
	 * 生成选题立项中的匹配书目
	 * @param xtId
	 * @param hId
	 * @return
	 * @throws Exception
	 */
	public boolean piPeiBookList(String xtId,String hId) throws Exception;
	
	/***
	 * 根据dsId得到该dsId中所有的java_property_recored
	 * @param dsId
	 * @return
	 */
	public List<String> getColsByDsId(String dsId);
	
	/***
	 * 根据java_property_recored得到updateTable
	 * @param colName
	 * @return
	 */
	public String getUpdateTable(String colName);
	/**
	 * ISBN&CIP 
	 * @param xtId
	 * @return
	 * @throws Exception
	 * @author wyang
	 * @date : 2014-5-12 下午05:50:44
	 */
	String isbnCIP(String xtId,String manId) throws Exception;
	/**
	 * 书稿三审
	 * @param xtId
	 * @return
	 * @throws Exception
	 * @author wyang
	 * @date : 2014-5-12 下午05:50:44
	 */
	String sanShen(String xtId,String manId) throws Exception;
	/**
	 * 开始选题执行
	 * @param xtId
	 * @param manId
	 * @return
	 * @throws Exception
	 * @author wyang
	 * @date : 2014-5-23 上午11:44:08
	 */
	String beginPlan(String xtId,String manId) throws Exception;
	/**
	 * 执行sql的方法
	 * @param sql
	 * @return
	 * @throws Exception
	 * @author wyang
	 * @date : 2014-5-23 下午06:24:44
	 */
	boolean execSql(String sql) throws Exception;
//
//	/***
//	 * 判断选题id的值在选题信息中
//	 * @param xtId
//	 * @return
//	 */
//	boolean judgeXtId(String xtId) throws Exception;
	/**
	 * 执行存储过程，判断当前登录人是否具有点击选题计划按钮的权限
	 * @param xtId
	 * @param manId
	 * @return
	 * @throws Exception
	 */
	String xtPlanRight(String xtId,String manId) throws Exception;
	/**
	 *根据对象id，获取银行账号
	 * @param xtId
	 * @param request
	 * @return
	 */
	public List getzhanghaobymanid(String mb);
	public List getManInfoByManID(String mb);
    public List getInfobyParty1(String XT_NAME,String PAY_PARTY);
    public boolean checkExistsNotVerifyDj(String XT_NAME,String PAY_PARTY);
	public List getManAccounts(String man);
	
	public List getXtYinCi(String xtId,String yinCi);
	public List getBSMoney(String xtId,String manID,String contract_TYPE,String type);
    public List getZZBSMoney(String xtId,String manID);
   // public List getZZJTBSMoney(String sinid);
    public List getamount(String PAY_PARTY, String BASIS_ACCOUNT, String TOPIC_SELECTED);
    public List get_zzdata(String CWZZ_ID, String PAY_PARTY, String BASIS_ACCOUNT, String TOPIC_SELECTED);
    public List getNextYinci(String xtId,String manID,String contract_TYPE,String yinci);
	public List getNextYinciVerify(String xtId,String manID);
	public List getIsOrSave(String xtId,String manID,String yinci,int number);
	public List getNowOidMan(String oid);
	public int getBookDelYinci(String xtId,String manID,String yinci,int number);
	/**
	 *审稿费模块中根据选题编号和印次获取确认印数和加印申请中的选题信息
	 * @param xtId
	 * @param yinci
	 * @param request
	 * @return
	 */
	public List getXtInfo(String xtId,String yinci);
	/**
	 *审稿费模块中根据出版社编号去出版社资料里面调取首印金额或者是加印金额
	 * @param XT_PUB_ID
	 * @param request
	 * @return
	 */
	public List getPubMoney(String XT_PUB_ID);
	public List getTrueContra(String xtId,String manID);
	public List getDJtypeByc(String xtId,String manID,String contract_TYPE);
    public List getDJtypeByz(String xtId,String manID,String TYPE_TICKET);

    List<String> getJTBM(List<String> runIds) throws Exception;
    List<String> getzzJTBM(List<String> runIds) throws Exception;
    List<String> getzzJTBMTWO(List<String> runIds) throws Exception;
	List<String> getJTBMTWO(List<String> runIds) throws Exception;
	public List getAnyAccount(String mb);
	public List getAllMoney(String mb);

	public List getzhanghaobyoid(String mb);

    /**
     *根据选题ID，获取该选题的营销预算余额
     * @param xt_id
     * @param request
     * @return
     */
    public double getMarketAmount(String xt_id);

	/**
	 * 保存自动对账信息
	 * @param dsId
	 * @param PAY_PARTY
	 * @param XT_NAME
	 */
	List<ReturnObject> saveAutoCheckAccountInfo(String dsId, String PAY_PARTY, String XT_NAME, String sfct, Object uid, HttpServletRequest request, HttpSession session) throws Exception;
}

